/**
 * 
 */
package com.td.framework.webmanager.ymgn.dao;

import java.util.List;

import com.td.framework.webmanager.domain.AppsysQxfwjlgx;
import com.td.framework.webmanager.domain.AppsysYmgn;
import com.td.framework.webmanager.domain.AppsysYmgnBean;
import com.td.framework.webmanager.domain.AppsysYmgnan;
import com.td.framework.webmanager.domain.AppsysYmxzfwjl;
import com.td.framework.webmanager.domain.AppsysYmxzfwjlBean;
import com.td.framework.webmanager.domain.YmxztjBean;

/**
 * 
 * Title:页面功能数据层接口 Description: 定义数据层页面功能处理方法
 * Copyright: Copyright (c) 2008 Company
 * 北京水软科技有限公司
 * 
* @author FLT006
 * @version 1.0
 */
public interface YmgnDao {

	/**
	 * @toDo:得到总记录数;
	 * @return rows;
	 */
	@SuppressWarnings("unchecked")
	public int getRows(String anmc,String ymbh);
	/**
	 * @toDo:通过功能名称查询页面功能信息
	 * @param pageSize,
	 *            startRow
	 * @return list;
	 */
	@SuppressWarnings("unchecked")
	public List<AppsysYmgnan> findByAnmc(int pageSize, int startRow);
	/**
	 * @toDo:得到与权限结合的功能List;
	 * @param qxbh
	 * @param ymbh
	 * @param type 1 为页面功能, 2 为页面限制字段 
	 * @return list;
	 */
	@SuppressWarnings("unchecked")
	public List<AppsysYmgnBean> findAppsysYmgnBean(Long qxbh, String ymbh,int type);
	/**
	 * @toDo:查询所有的页面功能信息;
	 * @return list;
	 */
	@SuppressWarnings("unchecked")
	public List<AppsysYmgnan> findAll() ;

	/**
	 * @toDo:通过功能编号查询页面功能信息;
	 * @param gnbh
	 * @return AppsysYmgn;
	 */
	public AppsysYmgnan getAppsysYmgnan(Long anbh) ;
	/**
	 * @toDo:保存页面功能信息;
	 * @param ymgn
	 * @return boolean;
	 */
	public boolean addAppsysYmgnan(AppsysYmgnan ymgnan) ;

	/**
	 * @toDo:删除页面功能信息,支持批量删除;
	 * @param anbhs
	 * @return boolean;
	 */
	public boolean deleteAppsysYmgnan(String[] anbhs) ;

	/**
	 * @toDo:更新页面功能信息;
	 * @param ymgn
	 * @return boolean;
	 */
	public boolean updateAppsysYmgnan(AppsysYmgnan ymgn);

	/**
	 * @toDo:保存用户组页面级功能权限;
	 * @param qxbh
	 * @param ymbh
	 * @param gnbhs
	 * @param qxfwjlgxs
	 * @return boolean;
	 */
	public boolean addYmgnRight(String qxbh, String ymbh, String[] gnbhs,List<AppsysQxfwjlgx> qxfwjlgxs);
	/**
	 * @toDo:验证功能名称是否重复;
	 * @param gnmc
	 * @param gnbh
	 * @return boolean;
	 */
	@SuppressWarnings("unchecked")
	public boolean checkYmgn(String ymbh ,String gnmc, String anbh) ;
	/**
	 * toDo:查询限制访问记录对象信息;
	 * @param xzbh
	 * @return AppsysYmxzfwjl;
	 */
	public AppsysYmxzfwjl getAppsysYmfwjl(Long xzbh);
	/**
	 * toDo:通过权限编号、页面编号查询限制访问记录条件;
	 * @param qxbh
	 * @param ymbh
	 * @return list;
	 */
	public List<AppsysYmxzfwjlBean> findAppsysYmxzfwjlBean(Long qxbh ,String ymbh);
	/**
	 * toDo:通过权限编号、限制条件编号查询条件列表;
	 * @param qxbh
	 * @param xzbh
	 * @param conSql
	 * @return list;
	 */
	@SuppressWarnings("unchecked")
	public List<YmxztjBean> findYmxztjBean(Long qxbh, String xzbh,String conSql);
}
